package com.qf.aspect;

/**
 * --- 就那样---
 *
 * @author zzw
 * @date 2025/8/15
 * @desc
 */

import com.qf.ex.NoAuth;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.cglib.core.MethodWrapper;
import org.springframework.stereotype.Component;

/**
 * 切面功能演示类
 */
@Component  //将该类交由spring管理
@Aspect  //说明该类是切面类
public class MyShowAspect {
    /**
     * 设置前置曾倩的方法，模拟权限校验的功能
     * 在目标方法执行千，判断该请求有没有权限允许执行
     * 如果有权限 目标方法执行
     * 没有权限  不让执行
     */
    /**
     * @Before()  该注解说明该方法是前置增强
     */
    @Before("execution(* com.qf.service.*.*(..))")
    public void beforeCheckAuth(JoinPoint joinPoint){
        String name = joinPoint.getSignature().getName();
        System.out.println("目标方法名"+name);
        System.out.println("开始对目标方法权限校验");
        //...校验
        System.out.println("校验成功放行");
        //假设没有权限不让目标方法
        // throw new NoAuth("没有权限");

    }

}